package com.woniuxy.admin.util;


import com.woniuxy.redis.util.RedisUtil;
import io.jsonwebtoken.Claims;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestHeader;

import javax.annotation.Resource;

/**
 * token工具类
 */
@Component
public class TokenUtil {
    /**
     * redis工具类
     */
    @Resource
    private RedisUtil redisUtil;

    /**
     * 通过token解析获取当前登录管理员id
     * @param token 携带账号id的请求头
     * @return
     */
    public  Integer getAccountId(@RequestHeader  String token){
        String refreshToken = redisUtil.get(token);
        Claims claims = JWTUtil.parseAdminToken(refreshToken);
        int userId = Integer.parseInt(claims.get("accountId").toString());
        return userId;
    }

    /**
     * 通过token解析获取当前登录用户id
     * @param token 携带账号id的请求头
     * @return
     */
    public  Integer getUserId(@RequestHeader  String token){
        String refreshToken = redisUtil.get(token);
        Claims claims = JWTUtil.parseUserToken(refreshToken);
        int userId = Integer.parseInt(claims.get("userId").toString());
        return userId;
    }
}
